package com.itheima.config;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;

/**
 * 定义一个Servlet容器的配置类，在里面加载SpringMvc的配置
 * 具体做法是继承类并重写方法
 */
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {

    //告诉tomcat容器，加载SpringMvc容器
    protected WebApplicationContext createServletApplicationContext() {

        //这个配置能用于Web环境
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        //注册下这个类
        ctx.register(SpringMvcConfig.class);

        return ctx;
    }

    //哪些请求归SpringMvc管？
    protected String[] getServletMappings() {
        //所有请求
        return new String[]{"/"};
    }

    //加载Spring容器配置,因为有SpringMvc和Spring的容器，但这里只有SpringMvc容器，所以暂时不管
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }
}
